package com.demo.sort;

import com.demo.sort.base.SortBase;

/**
 * 冒泡排序   小 -> 大
 * 思路:  A(当前)  B(下一个)
 * 两两相比,每次把当前循环最大值,放在最后
 * 1. 两两相比
 * 2. A > B (进行交换)
 * 分析:
 * 时间复杂度     O(n^2)
 * 空间复杂度    O(1)
 **/
public class BubbleSort extends SortBase {

    public int[] sort(int[] init) {
        for(int i = 0, len = init.length - 1; i < len; i++) {
            for(int j = 0; j < len - i; j++) {
                if (init[j] > init[j + 1]) {
                    swap(init, j, j + 1);
                }
            }
        }
        return init;
    }
}
